package com.hetao.xx.service;

import com.hetao.xx.Global;
import com.hetao.xx.game.model.NpcEvent;
import com.hetao.xx.orm.NpcEventVo;
import com.hetao.xx.orm.NpcVo;
import com.hetao.xx.orm.PlaceNpcVo;
import com.hetao.xx.orm.PlaceVo;
import com.hetao.xx.utils.UtilList;

import java.util.ArrayList;
import java.util.List;

public class PlaceManager {

    /**
     * 获取地点详情
     * @param placeId
     * @return
     */
    public PlaceVo getById(int placeId) {
         return Global.getInstant().placeDao.queryById(placeId);
    }

    /**
     * 获取子地点详情
     * @param placeId
     * @return
     */
     public List<PlaceVo> getChildrenById(int placeId) {
         return Global.getInstant().placeDao.queryByPrePlaceId(placeId);
     }

    /**
     * 获取npc列表
     * @param placeId
     * @return
     */
     public List<NpcVo> getNpcByPlaceId(int placeId) {
         List<NpcVo> npcList = new ArrayList<>(4);
         List<PlaceNpcVo> npcVoList = Global.getInstant().placeNpcDao.queryByPlaceId(placeId);
         //通过鉴定百分比判断npc是否出现


         //找到npc的个人信息
         if (UtilList.isNotEmpty(npcVoList)) {
             for (PlaceNpcVo vo : npcVoList) {
                 NpcVo npcVo = Global.getInstant().npcDao.queryById(vo.NpcId);
                 if (npcVo != null) {
                     npcList.add(npcVo);
                 }
             }
         }
         return npcList;
     }

    /**
     * 获取Npc事件
     * @param npcId
     * @return
     */
     public List<NpcEventVo> getEventByNpcId(int npcId) {
         return Global.getInstant().npcEventDao.queryByNpcId(npcId);
     }

    /**
     * 获取地点详情
     * @param npcId
     * @return
     */
    public NpcVo getNpcById(int npcId) {
        return Global.getInstant().npcDao.queryById(npcId);
    }

    /**
     * 获取事件
     * @param eventId
     * @return
     */
    public NpcEventVo getEventById(int eventId) {
        return Global.getInstant().npcEventDao.queryById(eventId);
    }

}
